﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Xts
{
    namespace XInterBank
    {
        namespace Strategy
        {
            public class InterBankStrategyScriptBase :
                MarketData.IXSnapshotDataHandler, MarketData.IXQuoteDetailDataHandler, TradingClient.IXOrderNortifyerHandler,
                TradingClient.IXAmiTradingQueryCBHandler, TradingClient.IXAmiOrderDeliveryCBHandler
            {
                //快照行情数据推送
                public virtual void OnNewSnapshot(XBondSnapshotData snapshotData) { }

                //报价明细行情数据推送
                public virtual void OnNewQuoteDetailData(XBondQuoteDetailData quoteDetailData) { }

                //普通委托信息推送
                public virtual void OrderInfoNortify(XBondOrderInfo orderInfo) { }

                //普通委托成交推送		
                public virtual void OrderFillNortify(XBondOrderFill orderFill) { }

                //做市委托信息推送	
                public virtual void MarketMakingOrderInfoNortify(XBondMarketMakingOrderInfo orderInfo) { }

                //做市委托成交推送
                public virtual void MarketMakingOrderFillNortify(XBondOrderFill orderFill) { }		
		
                //查询委托信息回调
                public virtual void OnQueryOrderInfo(XBondOrderInfoQueryRsp rsp, TradingClient.XTradingQuery_QueryOrderInfo_Cookies cookies) { }

                //查询委托信息失败回调
                public virtual void OnFailureQueryOrderInfo(TradingClient.XTradingQuery_QueryOrderInfo_Cookies cookies) { }

                //批量查询委托信息回调
                public virtual void OnBatchQueryOrderInfo(XBondOrderInfoQueryRsp rsp, TradingClient.XTradingQuery_BatchQueryOrderInfo_Cookies cookies) { }

                //批量查询委托信息失败回调
                public virtual void OnFailureBatchQueryOrderInfo(TradingClient.XTradingQuery_BatchQueryOrderInfo_Cookies cookies) { }
                
                //查询成交回报回调
                public virtual void OnQueryOrderFill(XBondOrderFillQueryRsp rsp, TradingClient.XTradingQuery_QueryOrderFill_Cookies cookies) { }

                //查询成交回报失败回调
                public virtual void OnFailureQueryOrderFill(TradingClient.XTradingQuery_QueryOrderFill_Cookies cookies) { }
                
                //批量查询成交回报回调
                public virtual void OnBatchQueryOrderFill(XBondOrderFillQueryRsp rsp, TradingClient.XTradingQuery_BatchQueryOrderFill_Cookies cookies) { }
                
                //批量查询成交回报失败回调
                public virtual void OnFailureBatchQueryOrderFill(TradingClient.XTradingQuery_BatchQueryOrderFill_Cookies cookies) { }

                //发送普通委托回调
                public virtual void OnSendOrder(XSendOrderRsp rsp, TradingClient.XOrderDelivery_SendOrder_Cookies cookies) { }

                //发送普通委托失败回调
                public virtual void OnFailureSendOrder(TradingClient.XOrderDelivery_SendOrder_Cookies cookies) { }

                //发送做市委托回调
                public virtual void OnSendMarketMakingOrder(XSendOrderRsp rsp, TradingClient.XOrderDelivery_SendOrder_Cookies cookies) { }

                //发送做市委托失败回调
                public virtual void OnFailureSendMarketMakingOrder(TradingClient.XOrderDelivery_SendOrder_Cookies cookies) { }

                //委托撤单回调
                public virtual void OnCancelOrder(XCancelOrderRsp rsp, TradingClient.XOrderDelivery_CancelOrder_Cookies cookies) { }

                //委托撤单失败回调
                public virtual void OnFailureCancelOrder(TradingClient.XOrderDelivery_CancelOrder_Cookies cookies) { }

                //委托批量撤单回调
                public virtual void OnBatchCancelOrder(XCancelOrderRsp[] rsp, TradingClient.XOrderDelivery_BatchCancelOrder_Cookies cookies) { }

                //委托批量撤单失败回调
                public virtual void OnFailureBatchCancelOrder(TradingClient.XOrderDelivery_BatchCancelOrder_Cookies cookies) { }

            }
        }
    }
    
}
